/**
 * IlluminationData.cpp
 *
 * Author:
 *   Chris Herbison
 *
 * Description:
 *   Class that holds constants used in Phong illumination and
 *    recursive reflection and transmission.
 */

#include "IlluminationData.h"

#include <iostream>

/*
 * The constructor.
 *
 * _ka - The ambient coefficient of the object.
 * _ks - The specular coefficient of the object.
 * _kd - The diffuse coefficient of the object.
 * _ke - The falloff rate of the object (exponential term).
 * _kr - The reflectiveness of the object.
 * _kt - The transmissiveness of the object.
 * _n - The refractive index of the object.
 *
 * Note: All parameters (except _n and _ke should be of range [0-1] ).
 */
IlluminationData::IlluminationData(float _ka, float _ks, float _kd, float _ke, float _kr, float _kt, double _n):
                                   ka(_ka), ks(_ks), kd(_kd), ke(_ke), kr(_kr), kt(_kt), n(_n){
}

/*
 * The copy onstuctor.
 *
 * id2 - The IlluminationData to copy from.
 */
IlluminationData::IlluminationData(const IlluminationData &id2){
     ka = id2.ka;
     ks = id2.ks;
     kd = id2.kd;
     ke = id2.ke;
     kr = id2.kr;
     kt = id2.kt;
     n = id2.n;
}
